home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / getdis2r / primer.frm (.txt) < prev    next >
Visual Basic Form  |  1999-05-23  |  4KB  |  133 lines

  1. VERSION 5.00
  2. Begin VB.Form frmPrime 
  3.    AutoRedraw      =   -1  'True
  4.    BackColor       =   &H00000000&
  5.    BorderStyle     =   0  'None
  6.    Caption         =   "Form1"
  7.    ClientHeight    =   4935
  8.    ClientLeft      =   0
  9.    ClientTop       =   0
  10.    ClientWidth     =   7335
  11.    DrawWidth       =   30
  12.    BeginProperty Font 
  13.       Name            =   "Times New Roman"
  14.       Size            =   15.75
  15.       Charset         =   0
  16.       Weight          =   700
  17.       Underline       =   0   'False
  18.       Italic          =   0   'False
  19.       Strikethrough   =   0   'False
  20.    EndProperty
  21.    LinkTopic       =   "Form1"
  22.    MaxButton       =   0   'False
  23.    MinButton       =   0   'False
  24.    MouseIcon       =   "PRIMER.frx":0000
  25.    MousePointer    =   99  'Custom
  26.    ScaleHeight     =   329
  27.    ScaleMode       =   3  'Pixel
  28.    ScaleWidth      =   489
  29.    ShowInTaskbar   =   0   'False
  30.    StartUpPosition =   2  'CenterScreen
  31.    WindowState     =   2  'Maximized
  32. Attribute VB_Name = "frmPrime"
  33. Attribute VB_GlobalNameSpace = False
  34. Attribute VB_Creatable = False
  35. Attribute VB_PredeclaredId = True
  36. Attribute VB_Exposed = False
  37. Option Explicit
  38. Dim Primes As New Collection
  39. Private Sub Form_Load()
  40. Dim i&, s$
  41.     Show
  42.     MIDN
  43.     ForeColor = Int(Rnd * 255 * 255 * 255)
  44.     s$ = "Prime Maker 1.0. Press mouse button to exit."
  45.     PrintText s$
  46.     For i& = 1 To 50000
  47.         DoEvents
  48.     Next i&
  49.     Prime (10000000)
  50. End Sub
  51. Sub PrintText(Text As String, Optional X As Long, Optional Y As Long)
  52.     If X = 0 Then X = ScaleWidth / 2 - TextWidth(Text) / 2
  53.     If Y = 0 Then Y = ScaleHeight / 2 - TextHeight(Text) / 2
  54.     CurrentX = X
  55.     CurrentY = Y
  56.     Print Text
  57. End Sub
  58. Private Sub Prime(i#)
  59. Dim X#, Y#, Prime As Boolean
  60. Dim XCng As Integer, YCng As Integer
  61. Dim XMov As Integer, YMov As Integer
  62. Dim Count As Long, SaveX As Double
  63.     XCng = 1: YCng = 1
  64.     XMov = 1: YMov = 1
  65.     Do
  66.         For X# = 2 To i#
  67.             Prime = True
  68.             For Y# = 1 To Primes.Count
  69.                 If Primes(Y#) > Sqr(X#) Then Exit For
  70.                 If X# / Primes(Y#) = X# \ Primes(Y#) Then Prime = False: Exit For
  71.                 DoEvents
  72.             Next Y#
  73.             SaveX = X
  74.             If Prime = True Then
  75.                 If Count < 500 Then Count = Count + 1
  76.                 Primes.Add X#
  77.                 Select Case Count
  78.                     Case 100
  79.                         PrintText "You are getting sleepy!"
  80.                     Case 125
  81.                         PrintText "Prime numbers realy aren't that interesting."
  82.                     Case 150: X = -1000000
  83.                     Case 151: X = 0
  84.                     Case 152: X = 1
  85.                     Case 153: X = 4
  86.                     Case 154: X = 666
  87.                     Case 155: X = 8453180
  88.                     Case 156: X = 3.14159265358979
  89.                     Case 157
  90.                         X = 911
  91.                         PrintText "There seems to be a little problem."
  92.                     Case 158: Err.Raise 51
  93.                 End Select
  94.                 XMov = XMov + Rnd * 5 * XCng - 5
  95.                 YMov = YMov + Rnd * 5 * YCng - 5
  96.                 If Abs(XMov) > 15 Then XCng = -XCng: XMov = 10
  97.                 If Abs(YMov) > 15 Then YCng = -YCng: YMov = 10
  98.                 ForeColor = RGB(Int(Rnd * 155) + 100, Int(Rnd * 155) + 100, Int(Rnd * 155) + 100)
  99.                 PrintText CStr(X), Int(Rnd * (ScaleWidth - TextWidth(Str(X#)))), Int(Rnd * (ScaleHeight - TextHeight(Str(X#))))
  100.                 Picture = Image
  101.                 PaintPicture Picture, 1, 1, , , XMov, YMov, , , vbSrcErase& Or vbSrcCopy&
  102.                 Line (0, 0)-(ScaleWidth, ScaleHeight), 0, B
  103.                 DoEvents
  104.             End If
  105.             X = SaveX
  106.         Next X#
  107.     Loop
  108. End Sub
  109. Sub MIDN()
  110. Dim i%, j%, k&
  111.     i% = Val(Format(Time, "NN"))
  112.     j% = Val(Format(Time, "SS"))
  113.     For k& = 1 To Abs(j% - i%)
  114.         Randomize
  115.     Next k&
  116. End Sub
  117. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  118.     End
  119. End Sub
  120. Private Sub Form_Click()
  121.     End
  122. End Sub
  123. '''''''''''''''''''''''''
  124. '   1  999   999   888  '
  125. ' 1 1 9   9 9   9 8   8 '
  126. '   1  9999  9999  888  '
  127. '   1     9     9 8   8 '
  128. ' 11111  9     9   888  '
  129. '''''''''''''''''''''''''
  130. '   Feucht Production   '
  131. '''''''''''''''''''''''''
  132. ' 1999 code included
  133.